package com.yunxi.model.finance;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 金融产品维护
 * </p>
 *
 * @author XUQI
 * @since 2019-12-02
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("pms_finance_product")
@ApiModel(value="FinanceProduct对象", description="金融产品维护")
public class FinanceProduct implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "ID", type = IdType.UUID)
    private String id;

    @ApiModelProperty(value = "方案类型：1推荐方案 2自选方案")
    @TableField("PLAN_TYPE")
    private Integer planType;

    @ApiModelProperty(value = "产品类别：1银行类产品 2 融资租聘类产品")
    @TableField("PRODUCT_TYPE")
    private Integer productType;

    @ApiModelProperty(value = "产品名称")
    @TableField("PRODUCT_NAME")
    private String productName;

    @ApiModelProperty(value = "金融机构")
    @TableField("FINANCE_INSTITUTION")
    private String financeInstitution;

    @ApiModelProperty(value = "计算方式 1:利率 2:费率")
    @TableField("CALCULATION")
    private Integer calculation;

    @ApiModelProperty(value = "利率值/费率值")
    @TableField("RATIO")
    private BigDecimal ratio;

    @ApiModelProperty(value = "一次性手续费A")
    @TableField("ONE_TIME_PRICE_A")
    private BigDecimal oneTimePriceA;

    @ApiModelProperty(value = "一次性手续费B")
    @TableField("ONE_TIME_PRICE_B")
    private BigDecimal oneTimePriceB;

    @ApiModelProperty(value = "首付比例最大值")
    @TableField("DOWN_PAYMENT_MAX")
    private BigDecimal downPaymentMax;

    @ApiModelProperty(value = "首付比例最小值")
    @TableField("DOWN_PAYMENT_MIN")
    private BigDecimal downPaymentMin;

    @ApiModelProperty(value = "首付比例刻度")
    @TableField("DOWN_PAYMENT_SCALE")
    private BigDecimal downPaymentScale;

    @ApiModelProperty(value = "首付比例")
    @TableField("DOWN_PAYMENT_RATIO")
    private BigDecimal downPaymentRatio;

    @ApiModelProperty(value = "保证金比例最大值")
    @TableField("BAIL_MAX")
    private BigDecimal bailMax;

    @ApiModelProperty(value = "保证金比例最小值")
    @TableField("BAIL_MIN")
    private BigDecimal bailMin;

    @ApiModelProperty(value = "保证金刻度")
    @TableField("BAIL_SCALE")
    private BigDecimal bailScale;

    @ApiModelProperty(value = "保证金比例")
    @TableField("BAIL_RATIO")
    private BigDecimal bailRatio;

    @ApiModelProperty(value = "期限")
    @TableField("DEADLINE")
    private String deadline;

    @ApiModelProperty(value = "尾款比例最大值")
    @TableField("BALANCE_RATIO_MAX")
    private BigDecimal balanceRatioMax;

    @ApiModelProperty(value = "尾款比例最小值")
    @TableField("BALANCE_RATIO_MIN")
    private BigDecimal balanceRatioMin;

    @ApiModelProperty(value = "尾款比例刻度")
    @TableField("BALANCE_RATIO_SCALE")
    private BigDecimal balanceRatioScale;

    @ApiModelProperty(value = "尾款比例")
    @TableField("BALANCE_RATIO")
    private BigDecimal balanceRatio;

    @ApiModelProperty(value = "尾款金额")
    @TableField("BALANCE_AMOUNT")
    private BigDecimal balanceAmount;

    @ApiModelProperty(value = "1:显示尾款比例 2:显示尾款金额")
    @TableField("BALANCE_SHOW")
    private Integer balanceShow;

    @ApiModelProperty(value = "校验值")
    @TableField("CHECK_VALUE")
    private BigDecimal checkValue;

    @ApiModelProperty(value = "适用城市")
    @TableField("CITY")
    private String city;

    @ApiModelProperty(value = "贴息比例")
    @TableField("DISCOUNT_RATIO")
    private BigDecimal discountRatio;

    @ApiModelProperty(value = "贴息金额")
    @TableField("DISCOUNT_AMOUNT")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "1:显示贴息比例 2:显示贴息金额")
    @TableField("DISCOUNT_SHOW")
    private Integer discountShow;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_BY", fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "UPDATE_TIME", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "更新人")
    @TableField(value = "UPDATE_BY", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "版本号")
    @TableField("VERSION")
    @Version
    private Integer version;


}
